Руслан Ижбулатов [Wed, 12 Sep 2018 06:55:49 +0000 (06:55 +0000)]
GDK W32: send both smooth and discrete scrolling events
Commit
d64467b33475bf8358f66bec9450101f37c05e9c changed the
code to send GDK_SCROLL_SMOOTH with deltas instead of
GDK_SCROLL_(UP|DOWN|LEFT|RIGHT). Change it again, to send
both the GDK_SCROLL_SMOOTH and the GDK_SCROLL_(UP|DOWN|LEFT|RIGHT)
event separately (with the discrete event marked as emulated),
as this is what other backends (such as wayland) do.
Christoph Reiter [Tue, 18 Sep 2018 07:55:50 +0000 (09:55 +0200)]
ci/docker: add lcov so we can create coverage reports
This was requested on IRC; the docker image in the registry is updated already.
Benjamin Otte [Tue, 18 Sep 2018 05:50:33 +0000 (07:50 +0200)]
treelistmodel: Improve naming a bit
The complexity with model items vs row items is really confusing. Add to
that treelistmodel position vs child model position vs parent position,
and you're so confused, even the best naming can't help.
And once you're there, consider passthrough vs non-passthrough...
Benjamin Otte [Tue, 18 Sep 2018 05:27:48 +0000 (07:27 +0200)]
listmodels: Clarify documentation for function prototypes
Fixes #1341
Mohammed Sadiq [Tue, 18 Sep 2018 04:31:12 +0000 (10:01 +0530)]
Revert "listlistmodel: Fix documentation comment"
This reverts commit
03679d434262be5a73e25668513a6a6597fd90ea.
listlistmodel is private
Mohammed Sadiq [Tue, 18 Sep 2018 04:25:43 +0000 (09:55 +0530)]
listlistmodel: Fix documentation comment
Georges Basile Stavracas Neto [Tue, 18 Sep 2018 03:51:57 +0000 (00:51 -0300)]
tree-list-model: Return the correct item type
When passthrough is enabled, it should return the GType
of the child GListModels; when disabled, it should be
GTK_TYPE_TREE_LIST_ROW.
The conditions are inverted however, causing a few
warnings to trigger.
Fix that by returning the correct GType.
Mohammed Sadiq [Tue, 18 Sep 2018 02:54:30 +0000 (02:54 +0000)]
Merge branch 'wip/sadiq/model-fixes' into 'master'
treelistmodel: Fix memory leak
See merge request GNOME/gtk!344
Mohammed Sadiq [Tue, 18 Sep 2018 01:58:56 +0000 (07:28 +0530)]
treelistmodel: Fix memory leak
gtk_tree_list_model_init_node() increases the reference count
of the model passed. Let's not do that, and let it take the
model passed.
Mohammed Sadiq [Tue, 18 Sep 2018 02:03:58 +0000 (02:03 +0000)]
Merge branch 'wip/sadiq/model-fixes' into 'master'
treelistmodel: Fix signal emission on row destroy
See merge request GNOME/gtk!343
Mohammed Sadiq [Tue, 18 Sep 2018 01:41:27 +0000 (07:11 +0530)]
treelistmodel: Fix signal emission on row destroy
Rico Tzschichholz [Mon, 17 Sep 2018 11:00:36 +0000 (13:00 +0200)]
gtk: Fix some g-i annotations warnings
Robert Ancell [Mon, 17 Sep 2018 08:59:19 +0000 (08:59 +0000)]
Merge branch 'toolbar-expand' into 'master'
toolbar: Use hexpand/vexpand Gtk+ properties
See merge request GNOME/gtk!334
Robert Ancell [Mon, 10 Sep 2018 23:00:01 +0000 (11:00 +1200)]
toolbar: Use hexpand/vexpand Gtk+ properties
Matthias Clasen [Mon, 17 Sep 2018 03:06:19 +0000 (23:06 -0400)]
tree list model: Add docs
Matthias Clasen [Mon, 17 Sep 2018 02:35:26 +0000 (22:35 -0400)]
Minor doc fix
Clarify some wording.
Benjamin Otte [Mon, 17 Sep 2018 02:29:40 +0000 (04:29 +0200)]
testsuite: Disable some tests for older glib
Benjamin Otte [Mon, 17 Sep 2018 01:56:41 +0000 (03:56 +0200)]
testsuite: Add tests for GtkSortListModel
Benjamin Otte [Mon, 17 Sep 2018 01:50:56 +0000 (03:50 +0200)]
sortlistmodel: Actually insert unsorted items at the wrong place
We were adding items in reverse order, oops.
Piotr Drąg [Sun, 16 Sep 2018 19:02:31 +0000 (21:02 +0200)]
Update POTFILES.in
Benjamin Otte [Sun, 16 Sep 2018 17:38:25 +0000 (19:38 +0200)]
docs: Add missing TreeListModel docs
Matthias Clasen [Sun, 16 Sep 2018 17:06:29 +0000 (17:06 +0000)]
Merge branch 'wip/sadiq/fixes' into 'master'
gdkselectioninputstream-x11: Fix memory leak
See merge request GNOME/gtk!340
Benjamin Otte [Sun, 16 Sep 2018 08:31:16 +0000 (10:31 +0200)]
testtreelistmodel: Display the file icon, because why not
Benjamin Otte [Tue, 11 Sep 2018 02:41:52 +0000 (04:41 +0200)]
inspector: Update the controllers list to show parent controllers
Now we show all the controllers that are relevant when widget gets sent
events.
Benjamin Otte [Sat, 15 Sep 2018 13:12:35 +0000 (15:12 +0200)]
testtreelistmodel: Make the statusbar display more info
Now display how many items were filtered (if any) and how many
directories remain to be sanned (if any).
Benjamin Otte [Fri, 14 Sep 2018 02:54:36 +0000 (04:54 +0200)]
testtreelistmodel: Sort files by name
Benjamin Otte [Fri, 14 Sep 2018 02:34:40 +0000 (04:34 +0200)]
GtkSortListModel: Add
Benjamin Otte [Thu, 13 Sep 2018 00:33:32 +0000 (02:33 +0200)]
testtreelistmodel: Add search
Add a simple search that does a case insensitive substring search of the
file paths.
Benjamin Otte [Wed, 12 Sep 2018 03:04:17 +0000 (05:04 +0200)]
testtreelistmodel: Make the directory loading async
This is way more complicated than it should be, because it requires
manually limiting the number of open file enumerators.
On the other hand, it exhaustively tests the items-changed emission of
all involved listmodels because those signals come in pretty much
randomly.
It's also 50% slower than the sync version, with the caeat that the sync
version only shows the UI after it's done loading, while this version
shows it right away.
Benjamin Otte [Wed, 12 Sep 2018 01:10:50 +0000 (03:10 +0200)]
testtreelistmodel: Add a hack to handle LONG lists
... and make the lists long by autoexpanding the tree.
Benjamin Otte [Wed, 12 Sep 2018 01:07:24 +0000 (03:07 +0200)]
GtkSliceListModel: add
Benjamin Otte [Tue, 11 Sep 2018 02:19:06 +0000 (04:19 +0200)]
inspector: Make controllers page use gtk_list_box_bind_model()
Benjamin Otte [Tue, 11 Sep 2018 00:25:37 +0000 (02:25 +0200)]
inspector: Rename "Gestures" page to "Controllers"
And rename GtkInspectorGestures => GtkInspectorControllers, too.
Benjamin Otte [Mon, 10 Sep 2018 23:56:42 +0000 (01:56 +0200)]
inspector: Make gestures page handle all controllers
This requires removing support for gesture groups.
Benjamin Otte [Mon, 10 Sep 2018 23:28:19 +0000 (01:28 +0200)]
GtkMapListModel: add
Benjamin Otte [Mon, 10 Sep 2018 15:01:57 +0000 (17:01 +0200)]
propertylookuplistmodel: Add
This model just takes an object and a property name and recursively
looks it up. In particular, I want it for:
widget, widget.parent, widget.parent.parent, ...
Benjamin Otte [Wed, 29 Aug 2018 14:19:37 +0000 (16:19 +0200)]
inspector: Turn object tree into a GtkListBox
The code gets rid of the GtkTreeView and replaces it with a GtkListBox.
Most of the logic is now done via GListModel subclasses.
A big change is that this new list is now tracking updates itself and
doesn't need to be manually updated. All code that used to cause rescans
or add forgotten objects to the tree has been removed.
If objects are missing from the object tree, the logic for tracking them
needs to be added.
Benjamin Otte [Wed, 5 Sep 2018 15:26:35 +0000 (17:26 +0200)]
testsuite: Disable some tests with older glib
Fixes CI.
Benjamin Otte [Wed, 5 Sep 2018 14:40:51 +0000 (16:40 +0200)]
inspector: Use a GtkPicture to display render nodes
Instead of the outdated render node view, use modern GTK APIs.
Benjamin Otte [Wed, 5 Sep 2018 04:34:03 +0000 (06:34 +0200)]
inspector: Add an icon to the render node list
Benjamin Otte [Wed, 5 Sep 2018 03:53:33 +0000 (05:53 +0200)]
inspector: Make the render node tree use a ListBox
It used to be a treeview.
Benjamin Otte [Wed, 5 Sep 2018 01:00:18 +0000 (03:00 +0200)]
widget: Add gtk_widget_observe_controllers()
This mirrors gtk_widget_observe_children() - just that it observes the
controllers, not the children.
Benjamin Otte [Sun, 2 Sep 2018 22:48:28 +0000 (00:48 +0200)]
gtk: Add GtkFlattenListModel
We can flatten lists of lists into lists now!
Benjamin Otte [Sat, 1 Sep 2018 16:48:38 +0000 (18:48 +0200)]
treelistmodel: Add more API to navigate the tree
This adds functionality from GtkTreeIter into GtkTreeListRow that allows
finding items in the model and getting their position for use in
GtkListBox.
Benjamin Otte [Sat, 1 Sep 2018 02:59:06 +0000 (04:59 +0200)]
treelistmodel: Refactor to add GtkTreeListRow
This patch does multiple things:
1. Add a custom persistent per-row object.
2. Move all per-row API to that object. This means notifications are now
possible.
3. Add a "passthrough" construct-only property to the TreeListModel that
influences if the model returns these new object or passes through
the ones from the model.
This greatly simplifies the code needed to be written for widgetry,
because one can just connect the per-row object to the expanders that
expand and collapse rows.
As an added power feature, these objects can also be passed through
further models (like filter models).
It also adds kind of a hack to Adwaita to make the test look neat.
Benjamin Otte [Fri, 31 Aug 2018 03:34:18 +0000 (05:34 +0200)]
gtk: Add GtkFilterListModel
This is a GListModel implementation that filters the given source model.
Benjamin Otte [Mon, 27 Aug 2018 17:50:01 +0000 (19:50 +0200)]
widget: Add gtk_widget_observe_children()
This creates a listmodel that tracks a widget's children. Doing so turns
adding/removing children from O(1) to O(N) though, so use with caution.
Benjamin Otte [Mon, 27 Aug 2018 06:37:16 +0000 (08:37 +0200)]
window: Add gtk_window_get_toplevels()
This one returns a list of all toplevel windows.
Benjamin Otte [Tue, 12 Jun 2018 01:56:21 +0000 (03:56 +0200)]
gtk: Add GtkTreeListModel
This is a GListModel implementation with a neat API that can be used to
implement trees inside GtkListBox.
Mohammed Sadiq [Sun, 16 Sep 2018 14:38:25 +0000 (20:08 +0530)]
gdkselectioninputstream-x11: Fix memory leak
Matthias Clasen [Fri, 14 Sep 2018 03:28:16 +0000 (23:28 -0400)]
gtk_application_inihit: allow no reason
We document this argument as nullable, so treat it as such.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1327
Emin Tufan Çetin [Tue, 11 Sep 2018 20:17:29 +0000 (20:17 +0000)]
Update Turkish translation
Jakub Steiner [Mon, 10 Sep 2018 14:29:54 +0000 (14:29 +0000)]
Merge branch 'adwaita-fixes' into 'master'
Adwaita fixes
See merge request GNOME/gtk!333
Adrien Plazas [Fri, 7 Sep 2018 13:24:24 +0000 (15:24 +0200)]
Adwaita: Set selection mode to headerbars if it's on ancestors
This allows to set the container of the headerbars in selection mode
rather than having to set the mode to each element of the title bar.
Adrien Plazas [Fri, 7 Sep 2018 10:32:36 +0000 (12:32 +0200)]
Adwaita: Style separator.sidebar
Let separators be declared as sidebars to have the same style as those
drawn by GtkStackSidebar. This also let them handle the selection-mode
class, whether they are assigned it or they descend from something in
selection mode.
Also drop setting the selection mode color for non-sidebar separators.
This is convenient when building a custom sidebar using a GtkSeparator
and to extend a sidebar to the title bar.
Adrien Plazas [Fri, 7 Sep 2018 11:04:59 +0000 (13:04 +0200)]
Adwaita: Drop the background of nested headerbars
This is needed to work around headerbar sliding animation issues without
refactoring Adwaita's support of titlebars and headerbars as it may
break applications.
https://gitlab.gnome.org/GNOME/gtk/issues/1264
Jakub Steiner [Mon, 10 Sep 2018 10:47:05 +0000 (10:47 +0000)]
Merge branch 'wip/adwaita/linked-entry-error-state-fix-master' into 'master'
Adwaita: Fix linked elements in error state
See merge request GNOME/gtk!315
Jakub Steiner [Fri, 7 Sep 2018 20:35:07 +0000 (20:35 +0000)]
Merge branch 'css-fix' into 'master'
win32 theme: Fix css syntax error
See merge request GNOME/gtk!324
Peter Simonyi [Fri, 7 Sep 2018 12:31:22 +0000 (08:31 -0400)]
win32 theme: Fix css syntax error
Matthias Clasen [Thu, 6 Sep 2018 00:10:41 +0000 (20:10 -0400)]
Add devel style to demos
Lets show this off. Its cool.
Matthias Clasen [Wed, 5 Sep 2018 23:54:32 +0000 (19:54 -0400)]
Fix portal path handling
This was broken when I recently introduced this helper
function.
Benjamin Otte [Wed, 5 Sep 2018 14:24:25 +0000 (16:24 +0200)]
rendernodepaintable: Fix clipping
We need to translate before clipping, otherwise we clip in totally the
wrong place.
Benjamin Otte [Wed, 5 Sep 2018 04:33:12 +0000 (06:33 +0200)]
iconhelper: Fix drawing of empty and paintable helpers
Empty helpers did try to draw a NULL paintable (not good) and in the
non-null case code used the wrong width/height.
Timm Bäder [Tue, 4 Sep 2018 10:02:05 +0000 (10:02 +0000)]
Merge branch 'gtkbbox-doc-fix' into 'master'
Minor fixes in documentation of gtkbbox
See merge request GNOME/gtk!318
Lennart Buhl [Mon, 3 Sep 2018 17:53:16 +0000 (19:53 +0200)]
Minor fixes in documentation of gtkbbox
Ask Hjorth Larsen [Sun, 2 Sep 2018 21:46:33 +0000 (23:46 +0200)]
Updated Danish translation of gtk-properties
Ask Hjorth Larsen [Sun, 2 Sep 2018 21:45:47 +0000 (23:45 +0200)]
Updated Danish translation of gtk
Ask Hjorth Larsen [Sun, 2 Sep 2018 21:19:35 +0000 (23:19 +0200)]
Updated Danish translation of gtk
Ask Hjorth Larsen [Sun, 2 Sep 2018 19:42:45 +0000 (21:42 +0200)]
Updated Danish translation of gtk-properties
Alex Monday [Sat, 1 Sep 2018 14:52:19 +0000 (19:52 +0500)]
themes: Fix linked elements in error state
Add instructions for color of linked elements border which ajoints
entry, when parent linked entry is in error state.
Daniel Boles [Sun, 2 Sep 2018 08:21:47 +0000 (09:21 +0100)]
Adwaita: Regenerate CSS to get window.devel styles
This step was missed before, again.
SASS 3.6 emits rgba(0, 0, 0, 0) instead of transparent, so it wants to
change those too, but that patch was only committed in March and isn't
being backported to the previous stable, so I don't know if others'
versions will do the same - so until it's shown that anyone else (A) is
regenerating CSS and (B) also has 3.6, I'm skipping those changes. See:
https://github.com/sass/libsass/commit/
c287f312ac9735aa274bbce56762391ca348cad9
Piotr Drąg [Fri, 31 Aug 2018 17:47:44 +0000 (19:47 +0200)]
Update Polish translation
Matthias Clasen [Fri, 31 Aug 2018 17:38:01 +0000 (13:38 -0400)]
GtkApplication: Improve the docs
Expand the docs for ::register-session a bit.
Matthias Clasen [Fri, 31 Aug 2018 17:23:59 +0000 (13:23 -0400)]
Avoid a pointless goto
We can just return here.
Matthias Clasen [Fri, 31 Aug 2018 17:23:25 +0000 (13:23 -0400)]
Add a helpful comment
Matthias Clasen [Thu, 30 Aug 2018 05:06:51 +0000 (01:06 -0400)]
GtkApplication: track screensaver state
A number of applications want to track the state of the screensaver.
Make this information available as a boolean property. We only listen
for state changes when ::register-session is set to TRUE.
This is implemented for unsandboxed D-Bus access by talking
directly to org.gnome.ScreenSaver or org.freedesktop.ScreenSaver,
and for sandboxed D-Bus by using a (new) portal API.
A Quartz implementation is missing.
Matthias Clasen [Thu, 30 Aug 2018 20:38:03 +0000 (16:38 -0400)]
GtkApplication: Respect GTK_USE_PORTAL
When the environment variable is set, don't connect
to the session manager, but instead rely on the
inhibit portal.
Matthias Clasen [Thu, 30 Aug 2018 17:13:45 +0000 (13:13 -0400)]
file chooser portal: use request path utilities
Less code duplication, more sticky toffee!
Matthias Clasen [Thu, 30 Aug 2018 17:12:18 +0000 (13:12 -0400)]
print portal: use request path utilities
Less code duplication, more cookies!
Matthias Clasen [Thu, 30 Aug 2018 17:11:51 +0000 (13:11 -0400)]
color picker portal: Add request path utility
Less code duplication, more cake!
Matthias Clasen [Thu, 30 Aug 2018 17:05:55 +0000 (13:05 -0400)]
Add utility functions for portal paths
The paths that we create for requests and sessions
need some icky code to create. Keep it in one place.
Marek Cernocky [Thu, 30 Aug 2018 14:51:17 +0000 (16:51 +0200)]
Updated Czech translation
Marek Cernocky [Thu, 30 Aug 2018 12:45:16 +0000 (14:45 +0200)]
Updated Czech translation
Jakub Steiner [Thu, 30 Aug 2018 07:40:46 +0000 (07:40 +0000)]
Merge branch 'selection-mode-separator' into 'master'
Adwaita: Add color to separator.selection-mode
See merge request GNOME/gtk!309
Matthias Clasen [Wed, 29 Aug 2018 23:55:58 +0000 (19:55 -0400)]
Add a missing cast
This fixes a warning introduced in the previous commit.
Aurimas Černius [Wed, 29 Aug 2018 19:23:47 +0000 (22:23 +0300)]
Updated Lithuanian translation
Matthias Clasen [Wed, 29 Aug 2018 16:35:12 +0000 (12:35 -0400)]
The file chooser is no box anymore
Don't treat it as one, it does not like it.
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1297
Anders Jonsson [Tue, 28 Aug 2018 21:11:58 +0000 (21:11 +0000)]
Update Swedish translation
Kai Willadsen [Tue, 28 Aug 2018 20:14:16 +0000 (20:14 +0000)]
FileChooserWidget: Don't show recent items with private hint set
Piotr Drąg [Tue, 28 Aug 2018 16:49:34 +0000 (18:49 +0200)]
Update Polish translation
Matthias Clasen [Tue, 28 Aug 2018 16:24:13 +0000 (12:24 -0400)]
Fix a typo
Its Hieroglyphs!
Closes: #1292
Timm Bäder [Tue, 28 Aug 2018 14:49:37 +0000 (14:49 +0000)]
Merge branch 'revealer-clipping' into 'master'
revealer: Only clip child when animating
See merge request GNOME/gtk!301
Rafael Fontenelle [Tue, 28 Aug 2018 03:28:14 +0000 (03:28 +0000)]
Update Brazilian Portuguese translation
Timm Bäder [Mon, 27 Aug 2018 16:55:31 +0000 (18:55 +0200)]
Revert "paned: Use a GtkIcon as separator"
This reverts commit
749ef4d71ca018a18fd608bf3b2e4c022727e2ae.
The GtkIcon and GtkGizmo measure code is different, the former uses
-gtk-icon-size.
Timm Bäder [Mon, 27 Aug 2018 16:53:56 +0000 (18:53 +0200)]
box: Remove gtk_box_get_size
One function to measure the box in the opposite of its internal
direction is enough.
Timm Bäder [Mon, 27 Aug 2018 16:48:09 +0000 (18:48 +0200)]
box: Rename avail_size to for_size everywhere
So we call it like we call it everywhere else.
Timm Bäder [Mon, 27 Aug 2018 16:45:03 +0000 (18:45 +0200)]
box: Simplify compute_size_for_orientation
Timm Bäder [Mon, 27 Aug 2018 16:13:01 +0000 (18:13 +0200)]
testoverlaystyleclass: Fix CSS snippet
Timm Bäder [Mon, 27 Aug 2018 15:55:36 +0000 (17:55 +0200)]
remove tests/testinput
It's broken and almost the exact same thing as the drawing demo in
gtk4-demo.
Adrien Plazas [Mon, 27 Aug 2018 11:59:34 +0000 (13:59 +0200)]
Adwaita: Add color to separator.selection-mode
This makes separators to look good when separating two header bars in
selection mode.
https://gitlab.gnome.org/GNOME/gtk/issues/1286